Temporal Semantics of a Concurrency Monad with Choice and Services
نویسندگان
چکیده
We describe the concurrency monad of the functional language Opal, which realizes a smooth integration of concurrent processes in a purely functional framework , providing a general choice and client-server based communication. We develop an axiomatic semantics for the concurrency monad using a variant of temporal interval logic as syntactic sugar on top of the logic of computable functions .
منابع مشابه
On the Semantics of a Concurrency Monadwith
We develop two semantics for the concurrency monad of the purely functional language Opal, which provides a general monadic choice, value-result agents and guarded client-server based communication. The transition semantics supports an operational understanding of the concurrency monad. The state-transformer semantics gives an axiomatic description of the concurrency monad by using a variant of...
متن کاملA Resumption Monad Transformer and its Applications in the Semantics of Concurrency
Resumptions are a valuable tool in the analysis and design of semantic models for concurrent programming languages, in which computations consist of sequences of atomic steps that may be interleaved. In this paper we consider a general notion of resumption, parameterized by the kind of computations that take place in the atomic steps. We define a monad transformer which, given a monad M that re...
متن کاملTowards a Denotational Semantics for Concurrent State Transformers
Concurrent state transformers are an extension of state transformers investigated by Launchbury, Peyton Jones, Wadler, and others by concurrency primitives. A denotational semantics for state transformers executing in parallel is deened using standard domain theoretic techniques. Using the semantics it is proved that concurrent state transformers still form a monad and that the concurrent seman...
متن کاملA Monadic Account of First-class Synchronous Events
These two quotations represent the key ideas behind two major research agendas. The first captures the essence of monadic I/O, which is the fundamental abstraction used to provide input/output and concurrency in the lazy, purely-functional language (Concurrent) Haskell. The second captures the essence of first-class synchronous events, which is the fundamental abstraction used to provide concur...
متن کاملModel-Driven Engineering from Modular Monadic Semantics: Implementation Techniques Targeting Hardware and Software
Recent research has shown how the formal modeling of concurrent systems can benefit from monadic structuring. With this approach, a formal system model is really a program in a domain specific language defined by a monad for shared-state concurrency. Can these models be compiled into efficient implementations? This paper addresses this question and presents an overview of techniques for compili...
متن کامل